<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>PostgreSQL Native Win32 Status Report</title>
</head>
<body>
<h1 style="text-align: center;">Compiling PostgreSQL On Native Win32 FAQ<br>
</h1>
<P>Last updated: Thu Oct 14 18:22:57 EDT 2004</P>
<P>Current maintainer: Bruce Momjian &lt;<A href=
"mailto:bruce@momjian.us">bruce@momjian.us</A>&gt;<BR>
</P>

<P>The most recent version of this document can be viewed at <A href=
"http://www.postgresql.org/docs/faqs.FAQ_MINGW.html">
http://www.postgresql.org/docs/faqs.FAQ_MINGW.html</A>.</P>

<P>The FAQ Running & Installing PostgreSQL On Native Windows is at <A href=
"http://pginstaller.projects.postgresql.org/faq/FAQ_windows.html">
http://pginstaller.projects.postgresql.org/faq/FAQ_windows.html</A>.</P>

<p>The native Win32 port is built from source using MinGW tools.&nbsp;
There is also a precompiled binary installer called <span
 style="font-style: italic;">pginstaller</span> which you can find at
from <a href="http://pgfoundry.org/projects/pginstaller">http://pgfoundry.org/projects/pginstaller</a>.&nbsp;
It is a fully native build and uses no additional software like MinGW.
The ready-made installer files are available on the main PostgreSQL ftp servers
in the binary/win32 directory.
<br>
</p>
<h2>Tools for Building Binaries<br>
</h2>
<p> The native Win32 port requires a 32-bit NT-based Microsoft
operating
system, like Windows NT 4, Windows 2000/2003, or Windows XP. (NT 4
is no longer supported since version 8.2)&nbsp; Earlier
operating systems do not have sufficient infrastructure. Building the
port also
requires MinGW and Msys, which can be downloaded from <a
 href="http://www.mingw.org/">http://www.mingw.org/</a>. MinGW is
a Unix-like build environment for Microsoft operating systems.
Msys is a collection of unix tools required to run shell scripts like <i>configure.&nbsp;
</i>Neither is required to run the resulting binaries;&nbsp; they are
needed only for creating the binaries.&nbsp; Work is in progress to support
building using Visual C++ in a future version.<br>
</p>
<h2>Steps For Building Binaries<br>
</h2>
<ul>
  <li>Download the nightly snapshot tarball from <a
 href="ftp://ftp.postgresql.org/pub/dev">ftp://ftp.postgresql.org/pub/dev</a>
or checkout via CVS (you will need <i>bison, flex,</i> and <i>perl</i>
installed to build from CVS)<br>
  </li>
  <li>Run <i>configure</i> (you might need to add the --without-zlib
argument, depending on whether you have installed <span
 style="font-style: italic;">zlib
    </span>on MinGW)</li>
  <li>Run <i>make install</i></li>
</ul>
Note:&nbsp; it is suggested that you run <i>psql</i> under <i>CMD.EXE.</i>,
as the Msys console has buffering issues.<br>
<br>
If you make a change that you want to contribute, make a context diff
and send
it to the mailing list. <br>
<h2>Resources</h2>
There are several resources that helped us complete this port:<br>
<ul>
  <li>PeerDirect port of PostgreSQL 7.2 to Win32 (<a
 href="ftp://momjian.postgresql.org/pub/postgresql/win32/PeerDirect">ftp://momjian.postgresql.org/pub/postgresql/win32/PeerDirect</a>)</li>
  <li>CONNX Win32 signal code(<a
 href="ftp://momjian.postgresql.org/pub/postgresql/win32/CONNX">ftp://momjian.postgresql.org/pub/postgresql/win32/CONNX</a>)</li>
  <li>SRA port of PostgreSQL to Win32 (unfortunately, this is not
publically available because the threaded portion is proprietary)</li>
  <li>CHM help files (<a
 href="http://www.pgadmin.org/snapshots/help/en_US/pgadmin3.chm">http://www.pgadmin.org/snapshots/help/en_US/pgadmin3.chm</a>)</li>
</ul>
</body>
</html>
